<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>跳抬价（递归）</title>
</head>
<body>
    <!-- 

        题目要求
        1、跳台阶第n台阶的跳发只能有两种方式就是从第n-1的抬价和n-2的抬价跳
        
        
        常见解决递归的问题需要注意点
        1、递归终止条件
        2、找出递归对应的表达式
        3、优化手段拿空间换时间（记忆化递归）

     -->
</body>
<script>
    // 法一
    function jump(n){
        if(n==1){
            return 1;
        }
        if(n==2){
            return 2;
        }
        return jump(n-1)+ jump(n-2)
    }
    console.log(jump(10))
    // 法二
    let store = [0,1,2];
    function jump2(n){
        if(store[n]!==undefined){
            return store[n];
        }
        return store[n] = jump2(n-1)+ jump2(n-2);
    }
    console.log(jump2(10))
</script>
</html>